Field index out of range
Otázka od: Andreas Bednarek
28. 6. 2004 16:19
Ahoj konference,
nemohu prijit na to co mi zpusobuje hlasku %SUBJ%. Pracuji s Paradoxovou
tabulkou v Dephi 4 (jedna se o starsi projekt).
Upresnim:
1. v Query1 proveden SQL dotaz 'select * from TABLE1 where FIELD1 = n'
2. Nasledne je otevren formular (ShowModal) na nemz je DBGrid napojeny na
Query1
Vznikne vyse zminena vyjimka a ve zpracovani programu nejde pokracovat, po
F9 se hlaseni o chybe opakuje stale na ShowModal.
Zdrojova tabulka se zda byt konzistentni (kontrolovano utilitou DBRepair), v
DBGrid nejsou definovany zadne sloupce, ktere by v tabulce (resp. Query1)
neexistovaly. Podle me by melo byt vse v poradku...
Poradite prosim?
Diky
Andreas D4
Odpovedá: Petr Brant
28. 6. 2004 16:41
Patrne jsou fieldy Query chybne napojene na sloupce gridu. Podivej se take
na OnShow ci OnActivate formu, jestli se tam nedeje nejaka nedobrota. Zkus
misto TQuery vytvorit TTable a over si, ze se grid zobrazuje dobre. Mohlo by
take pomoct misto Select * napsat select ... a vycet potrebnych sloupcu.
Patrne je problem ve strukture tabulky.
RNDr. Petr Brant [brant@dcomm.cz]
http://web.redbox.cz/petr.brant <http://web.redbox.cz/petr.brant>
> nemohu prijit na to co mi zpusobuje hlasku %SUBJ%. Pracuji s Paradoxovou
> tabulkou v Dephi 4 (jedna se o starsi projekt).
>
> Upresnim:
> 1. v Query1 proveden SQL dotaz 'select * from TABLE1 where FIELD1 = n'
> 2. Nasledne je otevren formular (ShowModal) na nemz je DBGrid napojeny na
> Query1
>
> Vznikne vyse zminena vyjimka a ve zpracovani programu nejde pokracovat, po
> F9 se hlaseni o chybe opakuje stale na ShowModal.
>
> Zdrojova tabulka se zda byt konzistentni (kontrolovano utilitou DBRepair),
> v
> DBGrid nejsou definovany zadne sloupce, ktere by v tabulce (resp. Query1)
> neexistovaly. Podle me by melo byt vse v poradku...
Odpovedá: Andreas Bednarek
28. 6. 2004 18:40
Uz to jede.
> Patrne jsou fieldy Query chybne napojene na sloupce gridu. Podivej se take
> na OnShow ci OnActivate formu, jestli se tam nedeje nejaka nedobrota. Zkus
> misto TQuery vytvorit TTable a over si, ze se grid zobrazuje dobre. Mohlo
by
> take pomoct misto Select * napsat select ... a vycet potrebnych sloupcu.
To jsem prave vsechno kontroloval a bylo to v poradku, nakonec byla chyba v
tom, ze puvodni autor v programu nastavoval property TTable.IndexName na
jmeno neexistujiciho sloupce! (nechapu, bylo to prolezle celym programem na
mnoha mistech a nedochazi mi, jaky to melo mit vyznam - sortovani je
vyresene pomoci ORDER BY nebo samo o sobe, takze otaznik).
Tak snad uz to je v poradku, diky za namety.
Andreas